﻿using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content;
using Falon.Items;
using Najak;

namespace Falon.Assets
{
	public static class Entities
	{
		
		static Entities()
		{
			Barrel = InitializeModel(new ExplosiveBarrel());

			Infantry1 = InitializeModel(new Units.Infantry(1, Weapons.Spear.Clone() as Weapon));
			Infantry2 = InitializeModel(new Units.Infantry(2, Weapons.Spear.Clone() as Weapon));
			SpearThrower1 = InitializeModel(new Units.Infantry(1, Weapons.ThrowingSpear.Clone() as Weapon));
			SpearThrower2 = InitializeModel(new Units.Infantry(2, Weapons.ThrowingSpear.Clone() as Weapon));
		}
		static private T InitializeModel<T>(T e) where T : Entity
		{
			e.EnsureInitialized();
			return e;
		}

		static public ExplosiveBarrel Barrel;
		static public Units.Infantry Infantry1;
		static public Units.Infantry Infantry2;
		static public Units.Infantry SpearThrower1;
		static public Units.Infantry SpearThrower2;
	}

}
